package com.authine.cloudpivot.web.api.service;


import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ReportService {

    List<Map<String,Object>> serviceType();

    List<Map<String, Object>> opTrend(String dateStr,String department);

    List<Map<String, Object>> gpTrend(String dateStr,String department);

    List<Map<String, Object>> revTrend(String dateStr,String department);

    List<Map<String, Object>> sgaTrend(String dateStr,String department);

    List<Map<String, Object>> subjectAdditional(String year);

    List<Map<String, Object>> subjectLoss(String year);

    Integer ytgCount(String year);

    Integer xmCount(String year);

    Integer xmgbCount(String year);

    Integer ytgxmCount(String year);

    Integer xmxmgbCount(String year);

    Integer ytgxmgbCount(String year);

    List<Map<String, Object>> subjectCover();

    List<Map<String, Object>> subjectExecuteRate();

    List<Map<String, Object>> subjectExecuteCycle(String id);

    List<Map<String, Object>> subjectExecuteCity(String id, String date);

    List<Map<String, Object>> employmentRanking(Date start,Date end);

    List<String> getEmployments(String id);

    List<Map<String, Object>> getBeforYearData(String date,String month,String year);

    List<Map<String, Object>> getNowYearData(String date,String month,String year);

    List<Map<String, Object>> getNowYearDataAvgPay(String date,String year);

    List<Map<String, Object>> getBeforYearSumDataLhyg(String date,String year);

    List<Map<String, Object>> getNowYearSumDataLhyg(String date,String year);

    List<Map<String, Object>> projectTaskIssue();

    List<Map<String, Object>> getXsData(String customerName,String jdName,String start,String end);

    List<String> getRecruitmentGroup();

    Integer getSumDemandFor(String start,String end,String id);

    List<Map<String, Object>> projectMapDataSum(Date startDate, Date endDate);

    List<Map<String, Object>> projectMapDataProMax(Date startDate, Date endDate);

    List<Map<String, Object>> projectMapDataCityMax(Date startDate, Date endDate);

    List<Map<String, Object>> mapSetting();

    String getLastGpOpDate();

    List<Map<String, Object>> recruitmentXsData(String start, String end);

    List<Map<String, Object>> recruitmentWeekDataXxByAscertain(String start, String end, String type);

    Integer getSumDemandForByAscertain(String jdId,String subjectId,String type);

    List<Map<String, Object>> areaFinishedByAscertain(String start, String end, String type);

    List<Map<String, Object>> areaDemandForByAscertain(String start, String end, String type);

    List<Map<String, Object>> recruitmentWeekDataXxByIndeterminacy(String start, String end, String type);

    List<Map<String, Object>> areaFinishedByIndeterminacy(String start, String end, String type);

    List<Map<String, Object>> getXsDataSum(String projectNames, String jobName);

    List<Map<String, Object>> recruitmentWeekDataXxByAscertainSum(String type);

    List<Map<String, Object>> areaFinishedByAscertainSum(String type);

    List<String> subjectAdditionalDetail(String year, String month, String type);

    List<String> subjectLossDetail(String year, String month, String type);

    List<String> getGpOpDepartment(String date);
}
